package br.ucb.servlets.usuario;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import br.ucb.dao.UsuarioDAO;
import br.ucb.entidade.Usuario;
import br.ucb.service.UsuarioService;
import br.ucb.service.impl.UsuarioServiceImpl;
import br.ucb.servlets.AbstractPapirosServlet;

public class LoginUsuarioServlet_1 extends AbstractPapirosServlet<Usuario, UsuarioService, UsuarioDAO> {

	private static final long serialVersionUID = 1L;

	@Override
	protected void processaRequisicao(HttpServletRequest req,
			HttpServletResponse resp)throws ServletException,IOException {
		
		setEntidadeService(new UsuarioServiceImpl());
		setEntidade(getDadosFormulario(req));
		
		HttpSession sessao = req.getSession();
		Usuario user= findByKey(getEntidade(), req);
		
		String caminho=null;
		if(user==null){
			setMensagem("Usu�rio n�o cadastrado", req);
			caminho="/jsp/seguranca/login.jsp";
		}else{
			caminho="/index.jsp";
			sessao.setAttribute("user",user);
			sessao.setMaxInactiveInterval(3600);
		}
		
		forward(req, resp, caminho);
	}
	
	private Usuario getDadosFormulario(HttpServletRequest req){
		Usuario user = new Usuario();
		
		user.setCpf(req.getParameter("txtCpf"));
		user.setPrivilegio(null);
		user.setSenha(req.getParameter("txtSenha"));
		
		return user;
	}	
}
